home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1993 July / InfoMagic USENET CD-ROM July 1993.ISO / sources / x / volume3 / awm2 / part12 < prev    next >
Encoding:
Internet Message Format  |  1989-02-21  |  31.4 KB

  1. Path: uunet!lll-winken!ames!vsi1!wyse!mikew
  2. From: mikew@wyse.wyse.com (Mike Wexler)
  3. Newsgroups: comp.sources.x
  4. Subject: v03i028:  Ardent Window Manager, Patchlevel 9, Part12/12
  5. Message-ID: <2078@wyse.wyse.com>
  6. Date: 21 Feb 89 18:18:00 GMT
  7. Organization: Wyse Technology, San Jose
  8. Lines: 932
  9. Approved: mikew@wyse.com
  10.  
  11. Submitted-by: kmw@ardent (Ken Wallich)
  12. Posting-number: Volume 3, Issue 28
  13. Archive-name: awm2/part12
  14.  
  15. #! /bin/sh
  16. # This is a shell archive.  Remove anything before this line, then unpack
  17. # it by saving it into a file and typing "sh file".  To overwrite existing
  18. # files, type "sh file -c".  You can also feed this as standard input via
  19. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  20. # will see the following message at the end:
  21. #        "End of archive 12 (of 12)."
  22. # Contents:  AUTHOR Grab.c MENUS VERSION bitmaps/README
  23. #   bitmaps/blank.bm bitmaps/destroy.bm bitmaps/die.bm bitmaps/foc.bm
  24. #   bitmaps/ic.bm bitmaps/mac_close.bm bitmaps/raise.bm bitmaps/res.bm
  25. #   bitmaps/resize.bm def.awmrc menus/Makefile menus/README
  26. #   menus/eventstack.h menus/gray1.h menus/rtlmnu.opt.h neaten.def.h
  27. #   neaten.ext.h patchlevel.h support.h
  28. # Wrapped by mikew@wyse on Fri Feb 17 10:50:37 1989
  29. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  30. if test -f 'AUTHOR' -a "${1}" != "-c" ; then 
  31.   echo shar: Will not clobber existing file \"'AUTHOR'\"
  32. else
  33. echo shar: Extracting \"'AUTHOR'\" \(521 characters\)
  34. sed "s/^X//" >'AUTHOR' <<'END_OF_FILE'
  35. X(Message inbox:899)
  36. XReturn-Path: mips!ardent!kmw
  37. XReceived:  by wyse.wyse.com (5.58/Wyse master/5-13-88)
  38. X    id AA02751; Thu, 16 Feb 89 18:02:22 PST
  39. XReceived: by mips.com id AA18851(1.0); Thu, 16 Feb 89 17:31:35 PST
  40. XReceived: by ardent.com; from sim; id AA01770; Thu, 16 Feb 89 16:35:50 PST
  41. XReceived: by sim.ardent.com (1.1/SMI-3.0DEV3)
  42. X    id AA06620; Thu, 16 Feb 89 16:36:19 PST
  43. XDate: Thu, 16 Feb 89 16:36:19 PST
  44. XFrom: mips!ardent.com!kmw (Ken Wallich)
  45. XMessage-Id: <8902170036.AA06620@sim.ardent.com>
  46. XTo: mips!wyse.com!mikew
  47. X
  48. END_OF_FILE
  49. if test 521 -ne `wc -c <'AUTHOR'`; then
  50.     echo shar: \"'AUTHOR'\" unpacked with wrong size!
  51. fi
  52. # end of 'AUTHOR'
  53. fi
  54. if test -f 'Grab.c' -a "${1}" != "-c" ; then 
  55.   echo shar: Will not clobber existing file \"'Grab.c'\"
  56. else
  57. echo shar: Extracting \"'Grab.c'\" \(1476 characters\)
  58. sed "s/^X//" >'Grab.c' <<'END_OF_FILE'
  59. X
  60. X
  61. X
  62. X#ifndef lint
  63. Xstatic char *rcsid_Grab_c = "$Header: /usr/graph2/X11.3/contrib/windowmgrs/awm/RCS/Grab.c,v 1.2 89/02/07 20:05:05 jkh Exp $";
  64. X#endif  lint
  65. X
  66. X#include "X11/copyright.h"
  67. X/*
  68. X *
  69. X * Copyright 1987, 1988 by Ardent Computer Corporation, Sunnyvale, Ca.
  70. X *
  71. X * Copyright 1987 by Jordan Hubbard.
  72. X *
  73. X *
  74. X *                         All Rights Reserved
  75. X *
  76. X * Permission to use, copy, modify, and distribute this software and its
  77. X * documentation for any purpose and without fee is hereby granted,
  78. X * provided that the above copyright notice appear in all copies and that
  79. X * both that copyright notice and this permission notice appear in
  80. X * supporting documentation, and that the name of Ardent Computer
  81. X * Corporation or Jordan Hubbard not be used in advertising or publicity
  82. X * pertaining to distribution of the software without specific, written
  83. X * prior permission.
  84. X *
  85. X */
  86. X
  87. X/*
  88. X * MODIFICATION HISTORY
  89. X *
  90. X * 002 -- Jordan Hubbard, Ardent Computer
  91. X *   Modifications for addition contexts.
  92. X */
  93. X
  94. X#include "X11/Xlib.h"
  95. X#include "awm.h"
  96. X
  97. Xvoid grab_pointer()
  98. X{
  99. X     Entry("grab_pointer")
  100. X
  101. X     if (XGrabPointer( dpy, RootWindow(dpy, scr),
  102. X              TRUE, (unsigned int) EVENTMASK, GrabModeAsync,
  103. X              GrabModeAsync, None,
  104. X              ArrowCrossCursor, CurrentTime )
  105. X     != GrabSuccess )
  106. X      fprintf(stderr, "awm (grab_pointer): Can't grab the mouse.");
  107. X      Leave_void
  108. X}
  109. X
  110. Xvoid ungrab_pointer()
  111. X{
  112. X     Entry("ungrab_pointer")
  113. X
  114. X     XUngrabPointer(dpy, CurrentTime);
  115. X     Leave_void
  116. X}
  117. END_OF_FILE
  118. if test 1476 -ne `wc -c <'Grab.c'`; then
  119.     echo shar: \"'Grab.c'\" unpacked with wrong size!
  120. fi
  121. # end of 'Grab.c'
  122. fi
  123. if test -f 'MENUS' -a "${1}" != "-c" ; then 
  124.   echo shar: Will not clobber existing file \"'MENUS'\"
  125. else
  126. echo shar: Extracting \"'MENUS'\" \(2087 characters\)
  127. sed "s/^X//" >'MENUS' <<'END_OF_FILE'
  128. XThe menu package you'll find in this release is derived from the RTL
  129. Xmenu package, version 2.0. RTL is currently at revision level 3, which
  130. Xno doubt fixes many of the bugs in version 2, but I cannot easily update 
  131. Xto it. Here's why:
  132. X
  133. XThe RTL menus, as they come "out of the box" give you the ability
  134. Xto create hierarchical walking menus. Each pane is in a fixed font
  135. Xand can have, in addition to text, a check mark (denoting some boolean
  136. Xcondition), an arrow (denoting an adjacent pull-right menu) or grey-stippled
  137. Xtext (denoting a disabled item). This was almost ideal for my purposes
  138. Xsince I needed checkmarks for boolean variables and arrows for pull-right
  139. Xmenus (not to mention the pull-right menus themselves). However, since
  140. Xawm tries hard to present a pictoral interface (with gadget boxes and
  141. Xthe like), it was necessary to make modifications to the menu package
  142. Xto support:
  143. X
  144. Xo Arbitrary pixmaps in menus panes, rather than just text.
  145. X
  146. Xo A "bold" font for panes that is used for menu titles (which users
  147. X  of uwm, awm's predecessor, had come to expect).
  148. X
  149. Xo The removal of the "all menu panes must be the same height" restriction
  150. X  to accomodate the two features mentioned above.
  151. X
  152. X
  153. XThere were also a number of internel changes, such as the removal of
  154. Xthe AssocTable code that forced a dependence on the X10 compatability
  155. Xlibrary. The positioning of the pointer within windows and the positioning
  156. Xof the pull-right menus themselves was also changed somewhat, since
  157. Xusing the menu package from a window manager required that the menu
  158. Xpackage be a little less exacting about things and give the user more
  159. Xroom for error.
  160. X
  161. XFinally, there were a few changes made for the window manager itself,
  162. Xsuch as support for the "AutoSelect" mode people had come to know
  163. Xand love(?) from uwm.
  164. X
  165. X
  166. XIf anyone feels ambitious enough to reverse-engineer these changes into
  167. XRTL's version 3 package, or to author a totally new menu package with
  168. Xthe features I need, I'll be more than happy to adopt it. In the mean
  169. Xtime, I have other issues which are, unfortunately, more pressing.
  170. X
  171. X
  172. X                    Jordan Hubbard
  173. END_OF_FILE
  174. if test 2087 -ne `wc -c <'MENUS'`; then
  175.     echo shar: \"'MENUS'\" unpacked with wrong size!
  176. fi
  177. # end of 'MENUS'
  178. fi
  179. if test -f 'VERSION' -a "${1}" != "-c" ; then 
  180.   echo shar: Will not clobber existing file \"'VERSION'\"
  181. else
  182. echo shar: Extracting \"'VERSION'\" \(272 characters\)
  183. sed "s/^X//" >'VERSION' <<'END_OF_FILE'
  184. XRev    Files                    Reason
  185. X1.1    First release
  186. X1.2    FocusChng.c, awm.c, exp_path.c        vax compatability
  187. X1.2    Gadget.c                incorrect gadget calcs.
  188. X1.2    Icons.c                    correct clip GC, hPad, vPad
  189. X1.2    gram.y                    cast, gadgets
  190. X1.2     awm.man                    title.push, hPad, vPad
  191. X1.2    awm.c                    hPad, vPad.
  192. END_OF_FILE
  193. if test 272 -ne `wc -c <'VERSION'`; then
  194.     echo shar: \"'VERSION'\" unpacked with wrong size!
  195. fi
  196. # end of 'VERSION'
  197. fi
  198. if test -f 'bitmaps/README' -a "${1}" != "-c" ; then 
  199.   echo shar: Will not clobber existing file \"'bitmaps/README'\"
  200. else
  201. echo shar: Extracting \"'bitmaps/README'\" \(545 characters\)
  202. sed "s/^X//" >'bitmaps/README' <<'END_OF_FILE'
  203. XHere are a few contributed bitmaps (as well as some of my own) that
  204. Xmight be useful to people designing interfaces with awm. As noted
  205. Xin the man page, care should be taken when constructing menu panes
  206. Xwith these as they are not all the same size. Your contributions
  207. Xto this collections are welcomed.
  208. X
  209. XIt should be noted that hackers don't usually make very good artists.
  210. XIf someone more artistically inclined (and willing to work within the
  211. Xlimits of a 16x16 or 32x32 frame) is interested in adding to this
  212. Xcollection, please do!
  213. X
  214. X                    - Jordan
  215. END_OF_FILE
  216. if test 545 -ne `wc -c <'bitmaps/README'`; then
  217.     echo shar: \"'bitmaps/README'\" unpacked with wrong size!
  218. fi
  219. # end of 'bitmaps/README'
  220. fi
  221. if test -f 'bitmaps/blank.bm' -a "${1}" != "-c" ; then 
  222.   echo shar: Will not clobber existing file \"'bitmaps/blank.bm'\"
  223. else
  224. echo shar: Extracting \"'bitmaps/blank.bm'\" \(278 characters\)
  225. sed "s/^X//" >'bitmaps/blank.bm' <<'END_OF_FILE'
  226. X#define blank_width 16
  227. X#define blank_height 16
  228. Xstatic char blank_bits[] = {
  229. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  230. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  231. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  232. END_OF_FILE
  233. if test 278 -ne `wc -c <'bitmaps/blank.bm'`; then
  234.     echo shar: \"'bitmaps/blank.bm'\" unpacked with wrong size!
  235. fi
  236. # end of 'bitmaps/blank.bm'
  237. fi
  238. if test -f 'bitmaps/destroy.bm' -a "${1}" != "-c" ; then 
  239.   echo shar: Will not clobber existing file \"'bitmaps/destroy.bm'\"
  240. else
  241. echo shar: Extracting \"'bitmaps/destroy.bm'\" \(284 characters\)
  242. sed "s/^X//" >'bitmaps/destroy.bm' <<'END_OF_FILE'
  243. X#define destroy_width 16
  244. X#define destroy_height 16
  245. Xstatic char destroy_bits[] = {
  246. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0xe0, 0x7f,
  247. X   0x20, 0x02, 0xf0, 0x01, 0x78, 0x00, 0x1c, 0x00, 0x1c, 0x00, 0x1c, 0x00,
  248. X   0x1c, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00};
  249. END_OF_FILE
  250. if test 284 -ne `wc -c <'bitmaps/destroy.bm'`; then
  251.     echo shar: \"'bitmaps/destroy.bm'\" unpacked with wrong size!
  252. fi
  253. # end of 'bitmaps/destroy.bm'
  254. fi
  255. if test -f 'bitmaps/die.bm' -a "${1}" != "-c" ; then 
  256.   echo shar: Will not clobber existing file \"'bitmaps/die.bm'\"
  257. else
  258. echo shar: Extracting \"'bitmaps/die.bm'\" \(260 characters\)
  259. sed "s/^X//" >'bitmaps/die.bm' <<'END_OF_FILE'
  260. X#define die_width 15
  261. X#define die_height 15
  262. Xstatic char die_bits[] = {
  263. X   0x00, 0x00, 0x2e, 0x3d, 0x22, 0x15, 0xc2, 0x14, 0xc6, 0x14, 0x22, 0x15,
  264. X   0x22, 0x15, 0x2e, 0x15, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0c, 0xfe, 0x3f,
  265. X   0xfe, 0x3f, 0x00, 0x0c, 0x00, 0x02};
  266. END_OF_FILE
  267. if test 260 -ne `wc -c <'bitmaps/die.bm'`; then
  268.     echo shar: \"'bitmaps/die.bm'\" unpacked with wrong size!
  269. fi
  270. # end of 'bitmaps/die.bm'
  271. fi
  272. if test -f 'bitmaps/foc.bm' -a "${1}" != "-c" ; then 
  273.   echo shar: Will not clobber existing file \"'bitmaps/foc.bm'\"
  274. else
  275. echo shar: Extracting \"'bitmaps/foc.bm'\" \(260 characters\)
  276. sed "s/^X//" >'bitmaps/foc.bm' <<'END_OF_FILE'
  277. X#define foc_width 15
  278. X#define foc_height 15
  279. Xstatic char foc_bits[] = {
  280. X   0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0xfc, 0x9f, 0x54, 0x95,
  281. X   0xfc, 0x9f, 0x54, 0x95, 0xfc, 0x9f, 0x04, 0x90, 0xfc, 0x9f, 0x00, 0x80,
  282. X   0x00, 0x80, 0x00, 0x80, 0x00, 0x80};
  283. END_OF_FILE
  284. if test 260 -ne `wc -c <'bitmaps/foc.bm'`; then
  285.     echo shar: \"'bitmaps/foc.bm'\" unpacked with wrong size!
  286. fi
  287. # end of 'bitmaps/foc.bm'
  288. fi
  289. if test -f 'bitmaps/ic.bm' -a "${1}" != "-c" ; then 
  290.   echo shar: Will not clobber existing file \"'bitmaps/ic.bm'\"
  291. else
  292. echo shar: Extracting \"'bitmaps/ic.bm'\" \(257 characters\)
  293. sed "s/^X//" >'bitmaps/ic.bm' <<'END_OF_FILE'
  294. X#define ic_width 15
  295. X#define ic_height 15
  296. Xstatic char ic_bits[] = {
  297. X   0x00, 0x80, 0x00, 0x80, 0x7c, 0x9f, 0x7c, 0x9f, 0x7c, 0x9f, 0x7c, 0x9f,
  298. X   0x7c, 0x9f, 0x00, 0x80, 0x7c, 0x9f, 0x7c, 0x9f, 0x7c, 0x9f, 0x7c, 0x9f,
  299. X   0x7c, 0x9f, 0x00, 0x80, 0x00, 0x80};
  300. END_OF_FILE
  301. if test 257 -ne `wc -c <'bitmaps/ic.bm'`; then
  302.     echo shar: \"'bitmaps/ic.bm'\" unpacked with wrong size!
  303. fi
  304. # end of 'bitmaps/ic.bm'
  305. fi
  306. if test -f 'bitmaps/mac_close.bm' -a "${1}" != "-c" ; then 
  307.   echo shar: Will not clobber existing file \"'bitmaps/mac_close.bm'\"
  308. else
  309. echo shar: Extracting \"'bitmaps/mac_close.bm'\" \(215 characters\)
  310. sed "s/^X//" >'bitmaps/mac_close.bm' <<'END_OF_FILE'
  311. X#define mac_close_width 10
  312. X#define mac_close_height 10
  313. Xstatic char mac_close_bits[] = {
  314. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  315. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
  316. END_OF_FILE
  317. if test 215 -ne `wc -c <'bitmaps/mac_close.bm'`; then
  318.     echo shar: \"'bitmaps/mac_close.bm'\" unpacked with wrong size!
  319. fi
  320. # end of 'bitmaps/mac_close.bm'
  321. fi
  322. if test -f 'bitmaps/raise.bm' -a "${1}" != "-c" ; then 
  323.   echo shar: Will not clobber existing file \"'bitmaps/raise.bm'\"
  324. else
  325. echo shar: Extracting \"'bitmaps/raise.bm'\" \(269 characters\)
  326. sed "s/^X//" >'bitmaps/raise.bm' <<'END_OF_FILE'
  327. X#define g1_width 16
  328. X#define g1_height 16
  329. Xstatic char g1_bits[] = {
  330. X   0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xc0, 0x01, 0xe0, 0x03, 0x80, 0x00,
  331. X   0x80, 0x00, 0x9e, 0x3c, 0x9e, 0x3c, 0x80, 0x00, 0x80, 0x00, 0xe0, 0x03,
  332. X   0xc0, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00};
  333. END_OF_FILE
  334. if test 269 -ne `wc -c <'bitmaps/raise.bm'`; then
  335.     echo shar: \"'bitmaps/raise.bm'\" unpacked with wrong size!
  336. fi
  337. # end of 'bitmaps/raise.bm'
  338. fi
  339. if test -f 'bitmaps/res.bm' -a "${1}" != "-c" ; then 
  340.   echo shar: Will not clobber existing file \"'bitmaps/res.bm'\"
  341. else
  342. echo shar: Extracting \"'bitmaps/res.bm'\" \(260 characters\)
  343. sed "s/^X//" >'bitmaps/res.bm' <<'END_OF_FILE'
  344. X#define res_width 15
  345. X#define res_height 15
  346. Xstatic char res_bits[] = {
  347. X   0x00, 0x80, 0xfe, 0xbf, 0x00, 0xa0, 0x00, 0xa0, 0xaa, 0xa6, 0x00, 0xa4,
  348. X   0x00, 0xa0, 0x00, 0xa4, 0x7e, 0xa0, 0x40, 0xa4, 0x40, 0xa0, 0x40, 0xa4,
  349. X   0x40, 0xa0, 0x40, 0xa4, 0x00, 0x80};
  350. END_OF_FILE
  351. if test 260 -ne `wc -c <'bitmaps/res.bm'`; then
  352.     echo shar: \"'bitmaps/res.bm'\" unpacked with wrong size!
  353. fi
  354. # end of 'bitmaps/res.bm'
  355. fi
  356. if test -f 'bitmaps/resize.bm' -a "${1}" != "-c" ; then 
  357.   echo shar: Will not clobber existing file \"'bitmaps/resize.bm'\"
  358. else
  359. echo shar: Extracting \"'bitmaps/resize.bm'\" \(281 characters\)
  360. sed "s/^X//" >'bitmaps/resize.bm' <<'END_OF_FILE'
  361. X#define resize_width 16
  362. X#define resize_height 16
  363. Xstatic char resize_bits[] = {
  364. X   0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x38, 0x00, 0x38, 0x00, 0x24,
  365. X   0x00, 0x02, 0x00, 0x01, 0x80, 0x00, 0x40, 0x00, 0x20, 0x00, 0x12, 0x00,
  366. X   0x0e, 0x00, 0x0e, 0x00, 0x1e, 0x00, 0x00, 0x00};
  367. END_OF_FILE
  368. if test 281 -ne `wc -c <'bitmaps/resize.bm'`; then
  369.     echo shar: \"'bitmaps/resize.bm'\" unpacked with wrong size!
  370. fi
  371. # end of 'bitmaps/resize.bm'
  372. fi
  373. if test -f 'def.awmrc' -a "${1}" != "-c" ; then 
  374.   echo shar: Will not clobber existing file \"'def.awmrc'\"
  375. else
  376. echo shar: Extracting \"'def.awmrc'\" \(1960 characters\)
  377. sed "s/^X//" >'def.awmrc' <<'END_OF_FILE'
  378. X# $Source $
  379. X# $Author $
  380. X# $Header $
  381. X# Copyright (c) 1987 by the Massachusetts Institute of Technology.
  382. X#
  383. X# This is a startup file for uwm that produces an xwm lookalike,
  384. X# but adds two useful menus.  It is patterned on the public
  385. X# distribution ../lib/X/uwm/jg.uwmrc file by Jim Gettys.
  386. X#
  387. Xresetbindings
  388. Xresetmenus
  389. Xresetgadgets
  390. X
  391. X# FUNCTION    KEYS    CONTEXT        MOUSE BUTTON ACTIONS
  392. Xf.newiconify=    meta    :window|icon:    delta left
  393. Xf.raise=    meta    :window|icon:    delta left
  394. Xf.lower=    meta    :window|icon:    left up
  395. Xf.raise=    meta    :window:    middle down
  396. Xf.resize=    meta    :window:    delta middle
  397. Xf.iconify=    meta    :icon:        middle up
  398. Xf.raise=    meta    :window|icon:    right down
  399. Xf.move=        meta    :window|icon:    delta right
  400. Xf.circledown=    meta    :root:        left down
  401. Xf.circleup=    meta    :root:        right down
  402. Xf.circledown=    m|s    ::        left down
  403. Xf.menu=            :root:        middle down    : "WindowOps"
  404. Xf.menu=        m|s    ::        middle down    : "WindowOps"
  405. Xf.menu=        m|s    :root:        left down    : "Preferences"
  406. Xf.menu=        m|s    ::        left down    : "Preferences"
  407. Xf.circleup=    m|s    ::        right down
  408. Xf.iconify=    m|c    :window|icon:    left down
  409. Xf.newiconify=    m|l    :window|icon:    left down
  410. Xf.raise=    m|l    :window|icon:    left up
  411. Xf.pushright=    m|l    :window|icon:    right down
  412. Xf.pushleft=    m|c    :window|icon:    right down
  413. Xf.pushup=    m|l    :window|icon:    middle down
  414. Xf.pushdown=    m|c    :window|icon:    middle down
  415. X
  416. Xmenu = "Preferences" {
  417. XBell Loud:    !"xset b 7&"
  418. XBell Normal:    !"xset b 3&"
  419. XBell Off:    !"xset b off&"
  420. XClick Loud:    !"xset c 8&"
  421. XClick Soft:    !"xset c on&"
  422. XClick Off:    !"xset c off&"
  423. XLock On:    !"xset l on&"
  424. XLock Off:    !"xset l off&"
  425. XMouse Fast:    !"xset m 4 2&"
  426. XMouse Normal:    !"xset m 2 5&"
  427. XMouse Slow:    !"xset m 1 1&"
  428. X}
  429. X
  430. Xmenu = "WindowOps" {
  431. XPreferences:    f.menu:    "Preferences"
  432. XNew Window:    !"xterm&"
  433. XRefreshScreen:    f.refresh
  434. XRedraw:        f.redraw
  435. XMove:        f.move
  436. XResize:        f.resize
  437. XLower:        f.lower
  438. XRaise:        f.raise
  439. XCircUp:        f.circleup
  440. XCircDown:    f.circledown
  441. XAutoIconify:    f.iconify
  442. XLowerIconify:    f.newiconify
  443. XNewIconify:    f.newiconify
  444. XFocus:        f.focus
  445. XFreeze:        f.pause
  446. XUnFreeze:    f.continue
  447. XRestart:    f.restart
  448. X}
  449. END_OF_FILE
  450. if test 1960 -ne `wc -c <'def.awmrc'`; then
  451.     echo shar: \"'def.awmrc'\" unpacked with wrong size!
  452. fi
  453. # end of 'def.awmrc'
  454. fi
  455. if test -f 'menus/Makefile' -a "${1}" != "-c" ; then 
  456.   echo shar: Will not clobber existing file \"'menus/Makefile'\"
  457. else
  458. echo shar: Extracting \"'menus/Makefile'\" \(1555 characters\)
  459. sed "s/^X//" >'menus/Makefile' <<'END_OF_FILE'
  460. X# makefile for example menu program
  461. X# This should be generated by imake, but it's not.
  462. X# sometime "soon". In the meantime, change the directories
  463. X# to suite your system.
  464. X
  465. X# if using DBUG package, point this to the object files
  466. X# DBUGDIR = 
  467. X
  468. XOBJS =    rtlmenu.o track_menu.o eventsave.o eventstack.o menu.o
  469. XSRCS =    rtlmenu.c track_menu.c eventsave.c eventstack.c menu.c
  470. XINCS =    menu.h menu.def.h menu.ext.h rtlmenu.h std_defs.h eventstack.h \
  471. X    arrow_icon.h dbug.h gray1.h null_icon.h dbug.h rtlmnu.ext.h \
  472. X    rtlmnu.opt.h
  473. X
  474. X# compiler flags 
  475. XFLAGS = $(CFLAGS)
  476. X
  477. X# if you want to use the DBUG package (and you have it around), define
  478. X# DBUGFLAG to be empty
  479. XDBUGFLAG = DBUG_OFF
  480. X
  481. Xrtlmenu.a : $(OBJS)
  482. X    rm -f rtlmenu.a
  483. X    ar clq rtlmenu.a $(OBJS)
  484. X    ranlib rtlmenu.a
  485. X
  486. Xrtlmenu.o : rtlmenu.c menu.h menu.def.h menu.ext.h rtlmenu.h std_defs.h
  487. X     $(CC) $(FLAGS) -D$(DBUGFLAG) -c rtlmenu.c
  488. X
  489. Xtrack_menu.o : track_menu.c eventstack.h dbug.h \
  490. X        menu.def.h menu.h menu.ext.h null_icon.h \
  491. X        arrow_icon.h std_defs.h
  492. X     $(CC) $(FLAGS) -D$(DBUGFLAG) -c track_menu.c
  493. X
  494. Xeventsave.o : eventsave.c eventstack.h dbug.h std_defs.h
  495. X     $(CC) $(FLAGS) -D$(DBUGFLAG) -c eventsave.c
  496. X
  497. Xeventstack.o : eventstack.c eventstack.h dbug.h std_defs.h
  498. X     $(CC) $(FLAGS) -D$(DBUGFLAG) -c eventstack.c
  499. X
  500. Xmenu.o : menu.c arrow_icon.h gray1.h menu.def.h menu.h std_defs.h dbug.h
  501. X     $(CC) $(FLAGS)   -D$(DBUGFLAG) -c menu.c
  502. X
  503. Xclean:
  504. X    rm -f *.o *.a core *~ #* 
  505. X
  506. Xnoident:
  507. X    @echo Removing ident lines from menus...
  508. X    @for i in $(SRCS) $(INCS); do \
  509. X    sed -e '/#ident/D' < $$i > /tmp/x.$$i && \
  510. X    mv /tmp/x.$$i $$i ; \
  511. X    done
  512. END_OF_FILE
  513. if test 1555 -ne `wc -c <'menus/Makefile'`; then
  514.     echo shar: \"'menus/Makefile'\" unpacked with wrong size!
  515. fi
  516. # end of 'menus/Makefile'
  517. fi
  518. if test -f 'menus/README' -a "${1}" != "-c" ; then 
  519.   echo shar: Will not clobber existing file \"'menus/README'\"
  520. else
  521. echo shar: Extracting \"'menus/README'\" \(1892 characters\)
  522. sed "s/^X//" >'menus/README' <<'END_OF_FILE'
  523. XLast changed February 8th, 1989
  524. X
  525. XMenus panes are now redrawn differently. Rather than waiting for
  526. Xa "side-effect" expose from a copy area, trackmenu() just draws them
  527. Xitself. This should result in substantially better behaviour on colour
  528. Xsystems. A number of nits have been cleaned up as well.
  529. X
  530. X                Jordan Hubbard
  531. X
  532. X-----
  533. X
  534. XRTLMenus Version 1.0 Release 2.1
  535. X
  536. XThis menu package was written at Siemens Research and
  537. XTechnologies Laboratory, Princeton, NJ, in the second half 
  538. Xkof 1987.
  539. X
  540. XThe original basis for the source file menu.c was the menu
  541. Xpackage for version X10/6.6 of xterm (misc.c).  We thank the
  542. Xprogrammers who gave us this basis from which to expand.
  543. X
  544. XWe wrote this package to meet the needs of the RTL Tiled
  545. XWindows window manager which is under development here.
  546. XWe have simulated much of the functionality of the SunWindows
  547. XToolkit menus.  The package has been tested only on Suns.
  548. XWe welcome enhancements and changes, and we would appreciate
  549. Xhearing about them.  We'll be glad to accept bug reports, but
  550. Xwe can't support this package beyond our own needs.  We are
  551. Xmaking it available because you 1) may be able to use it,
  552. Xand 2) may learn some tricks from it.
  553. X
  554. XWe found the DBUG C Program Debugging Package by Fred Fish to
  555. Xbe useful in debugging track_menu.c.  The DBUG macros remain,
  556. Xso you can use them to trace the code if you have DBUG
  557. Xavailable.  The Makefile assumes you do NOT have DBUG, and
  558. Xturns it off. 
  559. X
  560. XAdam J. Richter of UC Berkeley wrote an initial version of the
  561. Xmenus while he was here last summer.  Joe Camaratta and Mike
  562. XBerman designed and built the present version.  This work was
  563. Xperformed with the guidance of Ellis Cohen and the assistance
  564. Xof Mark Biggers.
  565. X
  566. XWe thank those who beta-tested the menus; in particular,
  567. Xthanks to George Sherouse and Mark Baushke for their useful
  568. Xsuggestions. 
  569. X
  570. X--Mike Berman
  571. X  berman%siemens@princeton.edu
  572. X  (609)734-6500 x2293
  573. X
  574. END_OF_FILE
  575. if test 1892 -ne `wc -c <'menus/README'`; then
  576.     echo shar: \"'menus/README'\" unpacked with wrong size!
  577. fi
  578. # end of 'menus/README'
  579. fi
  580. if test -f 'menus/eventstack.h' -a "${1}" != "-c" ; then 
  581.   echo shar: Will not clobber existing file \"'menus/eventstack.h'\"
  582. else
  583. echo shar: Extracting \"'menus/eventstack.h'\" \(1576 characters\)
  584. sed "s/^X//" >'menus/eventstack.h' <<'END_OF_FILE'
  585. X
  586. X/*
  587. X#ifndef lint
  588. Xstatic char sccs_id[] = "@(#)eventstack.h    2.1 12/16/87  Siemens Corporate Research and Support, Inc.";
  589. X#endif
  590. X*/
  591. X
  592. X
  593. X/* 
  594. X *  RTL Menu Package Version 1.0
  595. X * by Joe Camaratta and Mike Berman, Siemens RTL, Princeton NJ, 1987
  596. X *
  597. X * eventstack.h: data structure definitions for eventstack package.
  598. X * rewritten almost entirely by Jordan Hubbard, Ardent Computer corp.
  599. X * Previous version did not agree with many compilers.
  600. X *
  601. X */
  602. X
  603. X#include "X11/copyright.h"
  604. X/*
  605. X *
  606. X * Copyright 1987, 1988 by Ardent Computer Corporation, Sunnyvale, Ca.
  607. X *
  608. X * Copyright 1987 by Jordan Hubbard.
  609. X *
  610. X *
  611. X *                         All Rights Reserved
  612. X *
  613. X * Permission to use, copy, modify, and distribute this software and its
  614. X * documentation for any purpose and without fee is hereby granted,
  615. X * provided that the above copyright notice appear in all copies and that
  616. X * both that copyright notice and this permission notice appear in
  617. X * supporting documentation, and that the name of Ardent Computer
  618. X * Corporation or Jordan Hubbard not be used in advertising or publicity
  619. X * pertaining to distribution of the software without specific, written
  620. X * prior permission.
  621. X *
  622. X */
  623. X
  624. X#ifndef _XLIB_H_
  625. X#include "X11/Xlib.h"
  626. X#endif
  627. X
  628. X#include "std_defs.h"
  629. X
  630. X#define EventStackIsEmpty(stk) (*stk == (struct Ev_q *)0)
  631. X
  632. Xstruct Ev_q {
  633. X     struct Ev_q *prev;
  634. X     XEvent *event;
  635. X};
  636. X
  637. X
  638. Xextern void SaveEvents(), RestoreEvents(), DisposeEvents(),
  639. X    DiscardEventStore(), AddEventToStore(), RemoveEventFromStore();
  640. X
  641. Xextern Boolean EventStoreIsEmpty();
  642. Xextern void PushEvent();
  643. Xextern XEvent *PopEvent();
  644. X
  645. X
  646. X
  647. END_OF_FILE
  648. if test 1576 -ne `wc -c <'menus/eventstack.h'`; then
  649.     echo shar: \"'menus/eventstack.h'\" unpacked with wrong size!
  650. fi
  651. # end of 'menus/eventstack.h'
  652. fi
  653. if test -f 'menus/gray1.h' -a "${1}" != "-c" ; then 
  654.   echo shar: Will not clobber existing file \"'menus/gray1.h'\"
  655. else
  656. echo shar: Extracting \"'menus/gray1.h'\" \(279 characters\)
  657. sed "s/^X//" >'menus/gray1.h' <<'END_OF_FILE'
  658. X
  659. X#define gray1_width 16
  660. X#define gray1_height 16
  661. Xstatic char gray1_bits[] = {
  662. X   0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
  663. X   0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa,
  664. X   0x55, 0x55, 0xaa, 0xaa, 0x55, 0x55, 0xaa, 0xaa};
  665. END_OF_FILE
  666. if test 279 -ne `wc -c <'menus/gray1.h'`; then
  667.     echo shar: \"'menus/gray1.h'\" unpacked with wrong size!
  668. fi
  669. # end of 'menus/gray1.h'
  670. fi
  671. if test -f 'menus/rtlmnu.opt.h' -a "${1}" != "-c" ; then 
  672.   echo shar: Will not clobber existing file \"'menus/rtlmnu.opt.h'\"
  673. else
  674. echo shar: Extracting \"'menus/rtlmnu.opt.h'\" \(1856 characters\)
  675. sed "s/^X//" >'menus/rtlmnu.opt.h' <<'END_OF_FILE'
  676. X
  677. X/*
  678. X#ifndef lint
  679. Xstatic char sccs_id[] = "@(#)rtlmenu.options.h    2.1 12/16/87  Siemens Corporate Research and Support, Inc.";
  680. X#endif
  681. X*/
  682. X
  683. X
  684. X/* 
  685. X  RTL Menu Package Version 1.0
  686. X  by Joe Camaratta and Mike Berman, Siemens RTL, Princeton NJ, 1987
  687. X
  688. X  rtlmenu.options.h: option flags for rtlmenu user
  689. X*/
  690. X
  691. X/*
  692. X
  693. XCopyright 1987 by
  694. X    Siemens Corporate Research and Support, Inc., Princeton, New Jersey
  695. X
  696. XPermission to use, copy, modify, and distribute this software
  697. Xand its documentation for any purpose and without fee is
  698. Xhereby granted, provided that the above copyright notice
  699. Xappear in all copies and that both that copyright notice and
  700. Xthis permission notice appear in supporting documentation, and
  701. Xthat the name of Siemens not be used in advertising or
  702. Xpublicity pertaining to distribution of the software without
  703. Xspecific, written prior permission.  Siemens makes no
  704. Xrepresentations about the suitability of this software for any
  705. Xpurpose.  It is provided "as is" without express or implied
  706. Xwarranty.
  707. X
  708. X*/
  709. X
  710. X#ifndef OPTION_FLAGS
  711. X#define OPTION_FLAGS
  712. X
  713. X/* flags for menu operation */
  714. X
  715. Xtypedef unsigned int MenuOptionsMask;
  716. X
  717. X#define clickokay   (1L<<0) /* accept click-click as equivalent to press-release  */
  718. X#define savebits    (1L<<1) /* attempt to save/restore area under menu            */
  719. X#define fixedchild  (1L<<2) /* pull up child in fixed position relative to parent */
  720. X#define rightoffset (1L<<3) /* when pulling up on right edge, should child be     */
  721. X                            /* offset to left, allowing parent to remain visible  */
  722. X#define bigoffset   (1L<<4) /* valid only when rightoffset=1.  if bigoffset=1,    */
  723. X                            /* offset child far enough to see most of parent;     */
  724. X                            /* else, just far enough to get back to parent.       */
  725. X
  726. X#define RTLMenu_Option_Set(mask, option) (mask |= option)
  727. X#endif
  728. END_OF_FILE
  729. if test 1856 -ne `wc -c <'menus/rtlmnu.opt.h'`; then
  730.     echo shar: \"'menus/rtlmnu.opt.h'\" unpacked with wrong size!
  731. fi
  732. # end of 'menus/rtlmnu.opt.h'
  733. fi
  734. if test -f 'neaten.def.h' -a "${1}" != "-c" ; then 
  735.   echo shar: Will not clobber existing file \"'neaten.def.h'\"
  736. else
  737. echo shar: Extracting \"'neaten.def.h'\" \(1141 characters\)
  738. sed "s/^X//" >'neaten.def.h' <<'END_OF_FILE'
  739. X
  740. X
  741. X
  742. X#ifndef lint
  743. Xstatic char *rcsid_neaten_def_h = "$Header: /usr/graph2/X11.3/contrib/windowmgrs/awm/RCS/neaten.def.h,v 1.2 89/02/07 21:25:30 jkh Exp $";
  744. X#endif  lint
  745. X
  746. X#include "X11/copyright.h"
  747. X/*
  748. X *
  749. X * Copyright 1987, 1988 by Ardent Computer Corporation, Sunnyvale, Ca.
  750. X *
  751. X * Copyright 1987 by Jordan Hubbard.
  752. X *
  753. X *
  754. X *                         All Rights Reserved
  755. X *
  756. X * Permission to use, copy, modify, and distribute this software and its
  757. X * documentation for any purpose and without fee is hereby granted,
  758. X * provided that the above copyright notice appear in all copies and that
  759. X * both that copyright notice and this permission notice appear in
  760. X * supporting documentation, and that the name of Ardent Computer
  761. X * Corporation or Jordan Hubbard not be used in advertising or publicity
  762. X * pertaining to distribution of the software without specific, written
  763. X * prior permission.
  764. X *
  765. X */
  766. X
  767. X#define NEATEN_DEFINE
  768. X
  769. Xtypedef enum {
  770. X    Place_Closest,
  771. X    Place_Top,
  772. X    Place_Bottom,
  773. X    Place_Left,
  774. X    Place_Right,
  775. X    Place_Center
  776. X} Placement;
  777. X
  778. X#define NEATEN_TRUE 1
  779. X#define NEATEN_FALSE 0
  780. X
  781. X#define MAX_PRIORITY 100
  782. X#define MIN_PRIORITY -100
  783. END_OF_FILE
  784. if test 1141 -ne `wc -c <'neaten.def.h'`; then
  785.     echo shar: \"'neaten.def.h'\" unpacked with wrong size!
  786. fi
  787. # end of 'neaten.def.h'
  788. fi
  789. if test -f 'neaten.ext.h' -a "${1}" != "-c" ; then 
  790.   echo shar: Will not clobber existing file \"'neaten.ext.h'\"
  791. else
  792. echo shar: Extracting \"'neaten.ext.h'\" \(1301 characters\)
  793. sed "s/^X//" >'neaten.ext.h' <<'END_OF_FILE'
  794. X
  795. X
  796. X
  797. X#ifndef lint
  798. Xstatic char *rcsid_neaten_ext_h = "$Header: /usr/graph2/X11.3/contrib/windowmgrs/awm/RCS/neaten.ext.h,v 1.2 89/02/07 21:25:41 jkh Exp $";
  799. X#endif  lint
  800. X
  801. X#include "X11/copyright.h"
  802. X/*
  803. X *
  804. X * Copyright 1987, 1988 by Ardent Computer Corporation, Sunnyvale, Ca.
  805. X *
  806. X * Copyright 1987 by Jordan Hubbard.
  807. X *
  808. X *
  809. X *                         All Rights Reserved
  810. X *
  811. X * Permission to use, copy, modify, and distribute this software and its
  812. X * documentation for any purpose and without fee is hereby granted,
  813. X * provided that the above copyright notice appear in all copies and that
  814. X * both that copyright notice and this permission notice appear in
  815. X * supporting documentation, and that the name of Ardent Computer
  816. X * Corporation or Jordan Hubbard not be used in advertising or publicity
  817. X * pertaining to distribution of the software without specific, written
  818. X * prior permission.
  819. X *
  820. X */
  821. X
  822. X#ifndef NEATEN_DEFINE
  823. X#include "neaten.def.h"
  824. X#endif
  825. X
  826. Xextern void Neaten_Desktop();
  827. Xextern void Neaten_Initialize();
  828. Xextern void Neaten_Icon_Placement();
  829. Xextern void Neaten_Identify();
  830. Xextern int Neaten_Set_Desired();
  831. Xextern int Neaten_Set_Min();
  832. Xextern int Neaten_Set_Max();
  833. Xextern void Neaten_Prorate();
  834. Xextern int Neaten_Get_Geometry();
  835. Xextern void Neaten_Set_Priorities();
  836. Xextern void Neaten_Set_Options();
  837. END_OF_FILE
  838. if test 1301 -ne `wc -c <'neaten.ext.h'`; then
  839.     echo shar: \"'neaten.ext.h'\" unpacked with wrong size!
  840. fi
  841. # end of 'neaten.ext.h'
  842. fi
  843. if test -f 'patchlevel.h' -a "${1}" != "-c" ; then 
  844.   echo shar: Will not clobber existing file \"'patchlevel.h'\"
  845. else
  846. echo shar: Extracting \"'patchlevel.h'\" \(21 characters\)
  847. sed "s/^X//" >'patchlevel.h' <<'END_OF_FILE'
  848. X#define PATCHLEVEL 9
  849. END_OF_FILE
  850. if test 21 -ne `wc -c <'patchlevel.h'`; then
  851.     echo shar: \"'patchlevel.h'\" unpacked with wrong size!
  852. fi
  853. # end of 'patchlevel.h'
  854. fi
  855. if test -f 'support.h' -a "${1}" != "-c" ; then 
  856.   echo shar: Will not clobber existing file \"'support.h'\"
  857. else
  858. echo shar: Extracting \"'support.h'\" \(1781 characters\)
  859. sed "s/^X//" >'support.h' <<'END_OF_FILE'
  860. X
  861. X#ifndef lint
  862. Xstatic char *rcsid_support_h = "$Header: /usr/graph2/X11.3/contrib/windowmgrs/awm/RCS/support.h,v 1.2 89/02/07 21:25:51 jkh Exp $";
  863. X#endif  lint
  864. X
  865. X#include "X11/copyright.h"
  866. X/*
  867. X *
  868. X * Copyright 1987, 1988 by Ardent Computer Corporation, Sunnyvale, Ca.
  869. X *
  870. X * Copyright 1987 by Jordan Hubbard.
  871. X *
  872. X *
  873. X *                         All Rights Reserved
  874. X *
  875. X * Permission to use, copy, modify, and distribute this software and its
  876. X * documentation for any purpose and without fee is hereby granted,
  877. X * provided that the above copyright notice appear in all copies and that
  878. X * both that copyright notice and this permission notice appear in
  879. X * supporting documentation, and that the name of Ardent Computer
  880. X * Corporation or Jordan Hubbard not be used in advertising or publicity
  881. X * pertaining to distribution of the software without specific, written
  882. X * prior permission.
  883. X *
  884. X */
  885. X
  886. X#undef STACK_RTNAMES
  887. X#undef TRACE
  888. X
  889. X#ifdef TRACE
  890. X#define Entry(woo) { printf("Pushing to %s\n", woo); push_rtn(woo); }
  891. X#define Leave(woo) { printf("Pop from %s with %x\n", curr_rtn(), woo); pop_rtn(); return(woo); }
  892. X#define Leave_void { printf("Pop from %s (void)\n", curr_rtn()); pop_rtn(); return; }
  893. X#define Trace_on _rtn_trace = 1;
  894. X#define Trace_off _rtn_trace = 0;
  895. Xextern char *curr_rtn();
  896. Xextern int _rtn_level;
  897. Xextern int _rtn_trace;
  898. X#else
  899. X#ifdef SAVERTNAME
  900. X#define Entry(woo) push_rtn(woo);
  901. X#define Leave(woo) { pop_rtn(); return(woo); }
  902. X#define Leave_void { pop_rtn(); return; }
  903. X#define Trace_on _rtn_trace = 1;
  904. X#define Trace_off _rtn_trace = 0;
  905. Xextern char *curr_rtn();
  906. Xextern int _rtn_level;
  907. Xextern int _rtn_trace;
  908. X#else
  909. X#define Entry(s)
  910. X#define Leave(s) return(s);
  911. X#define Leave_void return;
  912. X#define Trace_on
  913. X#define Trace_off
  914. X#define Curr_rtn()
  915. X#endif /* SAVERTNAME */
  916. X#endif /* TRACE */
  917. END_OF_FILE
  918. if test 1781 -ne `wc -c <'support.h'`; then
  919.     echo shar: \"'support.h'\" unpacked with wrong size!
  920. fi
  921. # end of 'support.h'
  922. fi
  923. echo shar: End of archive 12 \(of 12\).
  924. cp /dev/null ark12isdone
  925. MISSING=""
  926. for I in 1 2 3 4 5 6 7 8 9 10 11 12 ; do
  927.     if test ! -f ark${I}isdone ; then
  928.     MISSING="${MISSING} ${I}"
  929.     fi
  930. done
  931. if test "${MISSING}" = "" ; then
  932.     echo You have unpacked all 12 archives.
  933.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  934. else
  935.     echo You still need to unpack the following archives:
  936.     echo "        " ${MISSING}
  937. fi
  938. ##  End of shell archive.
  939. exit 0
  940. -- 
  941. Mike Wexler(wyse!mikew)    Phone: (408)433-1000 x1330
  942. Moderator of comp.sources.x
  943.